package com.ims.core.doc.domain;

import java.math.BigDecimal;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 销项开票返回商品明细对象 t_sal_invoice_issue_entry
 *
 * @author IMS
 * @date 2024-10-25
 */
public class TSalInvoiceIssueEntry extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 开票返回明细项ID */
    @Excel(name = "开票返回明细项ID")
    private String entryId;

    /** 开票返回项ID */
    @Excel(name = "开票返回项ID")
    private String resultId;

    /** 发票ID */
    @Excel(name = "发票ID")
    private String invoiceId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String custId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String siteCode;

    /** 公司 */
    @Excel(name = "公司")
    private String siteName;

    /** 明细行号 */
    @Excel(name = "明细行号")
    private Integer goodsLineNo;

    /** 发票行性质 */
    @Excel(name = "发票行性质")
    private String invoiceLineNature;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String goodsCode;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String goodsSpecification;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String goodsUnit;

    /** 商品数量 */
    @Excel(name = "商品数量")
    private BigDecimal goodsQuantity;

    /** 商品单价 */
    @Excel(name = "商品单价")
    private BigDecimal goodsPrice;

    /** 商品金额 */
    @Excel(name = "商品金额")
    private BigDecimal goodsTotalPrice;

    /** 商品税额 */
    @Excel(name = "商品税额")
    private BigDecimal goodsTotalTax;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal goodsTaxRate;

    /** 含税标志 */
    @Excel(name = "含税标志")
    private String priceTaxMark;

    /** 增值税特殊管理 */
    @Excel(name = "增值税特殊管理")
    private String vatSpecialManagement;

    /** 零税率标识 */
    @Excel(name = "零税率标识")
    private String freeTaxMark;

    /** 是否使用优惠政策 */
    @Excel(name = "是否使用优惠政策")
    private String preferentialMark;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setEntryId(String entryId)
    {
        this.entryId = entryId;
    }

    public String getEntryId()
    {
        return entryId;
    }
    public void setResultId(String resultId)
    {
        this.resultId = resultId;
    }

    public String getResultId()
    {
        return resultId;
    }
    public void setInvoiceId(String invoiceId)
    {
        this.invoiceId = invoiceId;
    }

    public String getInvoiceId()
    {
        return invoiceId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setGoodsLineNo(Integer goodsLineNo)
    {
        this.goodsLineNo = goodsLineNo;
    }

    public Integer getGoodsLineNo()
    {
        return goodsLineNo;
    }
    public void setInvoiceLineNature(String invoiceLineNature)
    {
        this.invoiceLineNature = invoiceLineNature;
    }

    public String getInvoiceLineNature()
    {
        return invoiceLineNature;
    }
    public void setGoodsCode(String goodsCode)
    {
        this.goodsCode = goodsCode;
    }

    public String getGoodsCode()
    {
        return goodsCode;
    }
    public void setGoodsName(String goodsName)
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName()
    {
        return goodsName;
    }
    public void setGoodsSpecification(String goodsSpecification)
    {
        this.goodsSpecification = goodsSpecification;
    }

    public String getGoodsSpecification()
    {
        return goodsSpecification;
    }
    public void setGoodsUnit(String goodsUnit)
    {
        this.goodsUnit = goodsUnit;
    }

    public String getGoodsUnit()
    {
        return goodsUnit;
    }
    public void setGoodsQuantity(BigDecimal goodsQuantity)
    {
        this.goodsQuantity = goodsQuantity;
    }

    public BigDecimal getGoodsQuantity()
    {
        return goodsQuantity;
    }
    public void setGoodsPrice(BigDecimal goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice()
    {
        return goodsPrice;
    }
    public void setGoodsTotalPrice(BigDecimal goodsTotalPrice)
    {
        this.goodsTotalPrice = goodsTotalPrice;
    }

    public BigDecimal getGoodsTotalPrice()
    {
        return goodsTotalPrice;
    }
    public void setGoodsTotalTax(BigDecimal goodsTotalTax)
    {
        this.goodsTotalTax = goodsTotalTax;
    }

    public BigDecimal getGoodsTotalTax()
    {
        return goodsTotalTax;
    }
    public void setGoodsTaxRate(BigDecimal goodsTaxRate)
    {
        this.goodsTaxRate = goodsTaxRate;
    }

    public BigDecimal getGoodsTaxRate()
    {
        return goodsTaxRate;
    }
    public void setPriceTaxMark(String priceTaxMark)
    {
        this.priceTaxMark = priceTaxMark;
    }

    public String getPriceTaxMark()
    {
        return priceTaxMark;
    }
    public void setVatSpecialManagement(String vatSpecialManagement)
    {
        this.vatSpecialManagement = vatSpecialManagement;
    }

    public String getVatSpecialManagement()
    {
        return vatSpecialManagement;
    }
    public void setFreeTaxMark(String freeTaxMark)
    {
        this.freeTaxMark = freeTaxMark;
    }

    public String getFreeTaxMark()
    {
        return freeTaxMark;
    }
    public void setPreferentialMark(String preferentialMark)
    {
        this.preferentialMark = preferentialMark;
    }

    public String getPreferentialMark()
    {
        return preferentialMark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("entryId", getEntryId())
            .append("resultId", getResultId())
            .append("invoiceId", getInvoiceId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("goodsLineNo", getGoodsLineNo())
            .append("invoiceLineNature", getInvoiceLineNature())
            .append("goodsCode", getGoodsCode())
            .append("goodsName", getGoodsName())
            .append("goodsSpecification", getGoodsSpecification())
            .append("goodsUnit", getGoodsUnit())
            .append("goodsQuantity", getGoodsQuantity())
            .append("goodsPrice", getGoodsPrice())
            .append("goodsTotalPrice", getGoodsTotalPrice())
            .append("goodsTotalTax", getGoodsTotalTax())
            .append("goodsTaxRate", getGoodsTaxRate())
            .append("priceTaxMark", getPriceTaxMark())
            .append("vatSpecialManagement", getVatSpecialManagement())
            .append("freeTaxMark", getFreeTaxMark())
            .append("preferentialMark", getPreferentialMark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
